home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 019 / ratio16a.arc / ADDRATIO.DOC next >
Text File  |  1988-04-12  |  10KB  |  247 lines

  1.  
  2.            D O C U M E N T A T I O N   F O R   R A T I O   M O D
  3.             Release 16.1A - April 14, 1988
  4.  
  5.                           Kevin Lutz, Sysop
  6.                        Northern Illinois RBBS
  7.            (312) 526-3349 (300/1200/2400)
  8.                            692 Walnut Road
  9.                        Wauconda, IL 60084-1145
  10.  
  11.  
  12. WHAT THE RATIO MOD DOES
  13. -----------------------
  14.  
  15. RATIO mod adds the necessary source code changes to the w/ 3/31/88 fixes
  16. RBBS-PC 16-1A source files so that RBBS-PC can keep track of the number of
  17. bytes a users has uploaded and downloaded, and to keep track of the number
  18. of bytes and files downloaded for the day.  It will also allow RBBS-PC to
  19. require a user to maintain a minimum upload to download ratio.
  20.  
  21. You can select a ratio for each security level, or require no ratio at all.
  22. You can also base the ratio on the number of files uploaded/downloaded,
  23. the number of bytes uploaded/downloaded, the number of files downloaded
  24. per day or the number of bytes per day.  The RATIO mod gives you full
  25. flexibility to use a different ratio method or no method for each security
  26. level you have.
  27.  
  28.  
  29. WHY THIS MOD IS NEEDED
  30. ----------------------
  31.  
  32. As I began to analyze what my users were doing, I realized that the main
  33. use of my BBS was for downloading.  But I also realized, few people were
  34. uploading.  I did my best to encourage my users to upload, but nothing
  35. seemed to work, until now.
  36.  
  37. This program will cure the problem of downloaditus!  For example, on my
  38. BBS, I require all new users to upload at least one file before they are
  39. allowed to download.  Once they upload a file, they are allowed to down-
  40. load 15 files before they have to upload again.  Paid subscribers are
  41. exempt from the ratio requirements and can download to their hearts content.
  42.  
  43. Since I implemented this mod on my BBS in January of 1988 up through March
  44. of 1988 I was forced to upgrade my 40 meg drive to an 80 meg drive just to
  45. keep up with the uploads.  Since I added the extra 40 meg about 30 days ago
  46. I am already down to less than 12 meg left.  And with so many new files,
  47. very few users have complained!
  48.  
  49.  
  50. HOW TO ADD THE MOD TO YOUR SOURCE CODE
  51. --------------------------------------
  52.  
  53. To add the mod to your files you will need the W/FIXES thru 3/31 RBBS-PC
  54. 16.1A source code, the BLED.EXE file - preferably version 1.61, the merge
  55. files and the files that came with this patch.
  56.  
  57. In all you'll need:
  58.  
  59.     RBBS-PC.BAS   (Ver 16.1A)
  60.     RBBSSUB1.BAS      "
  61.     RBBSSUB2.BAS      "
  62.     RBBSSUB3.BAS      "
  63.     RBBS-VAR.BAS      "
  64.  
  65.     BLED.EXE      (Ver 1.61)
  66.  
  67.     RBBS-PC.MRG  (Release 16.1A)
  68.     RBBSSUB1.MRG       "
  69.     RBBSSUB2.MRG       "
  70.     ADDRATIO.BAT       "
  71.  
  72. And, of course, you will need all of the files and programs needed to 
  73. recompile and link the modified source files.
  74.  
  75. To add the mods, just bled them into your source code and compile the
  76. new code as it states in the RBBS manual, but.......
  77.  
  78. BEFORE YOU COMPILE
  79. ------------------
  80.  
  81.   Before you compile the modified source code, you must add a few variables
  82. to the RBBS-VAR.BAS file.  Many mods include a new RBBS-VAR.BAS with the
  83. necessary changes already in it, but I have found over time that when you
  84. apply many patches and each one comes with its own RBBS-VAR.BAS it is 
  85. nothing but a big headache.
  86.  
  87.   Use your favorite text editor such as Wordstar in the Non-Document Mode
  88. and add the following two variables:
  89.  
  90.           DLBYTES!, _                                            'RATIO
  91.           DL.BYTES$, _                                           'RATIO
  92.           NUM.DNLD.BYTS!, _                                      'RATIO
  93.           ULBYTES!, _                                            'RATIO
  94.           UL.BYTES$, _                                           'RATIO
  95.           BYTE.METHOD, _                                         'RATIO
  96.           RATIO.RESTRICTION, _                                   'RATIO
  97.           TODAY.DL$, _                                           'RATIO
  98.           DL.TODAY!, _                                           'RATIO
  99.           TODAY.BYTES$, _                                        'RATIO
  100.           BYTES.TODAY!                                           'RATIO
  101.  
  102.  
  103.   Once the code has been patched, you must recompile the modified BAS 
  104. files and then link them together.  The information needed to do this
  105. can be found in the RBBS-PC documentation.
  106.  
  107.  
  108. WHAT'S NEXT?
  109. ------------
  110.  
  111.   Now that you applied the patch, you must set-up the ratio requirements
  112. you plan to use for each security level.  Even if you don't plan to
  113. require users to maintain a certain ratio, you must make the following
  114. changes to the passwords file:
  115.  
  116.   The new format for the Passwords file is as follows:
  117.  
  118.    <parms as stated in the RBBS 16-1A doc plus>,<ratio method>,<ratio>
  119.  
  120. All fields are the same as the original RBBS Doc, except that you MUST add
  121. two new fields at the end of each line.
  122.  
  123. The Ratio Method field should be either a '0' or a '1'.
  124.  
  125.     '0' - meaning use the files uploaded to files downloaded ratio
  126.     '1' - meaning use the bytes uploaded to bytes downloaded ratio
  127.     '2' - meaning use the files per day restriction
  128.     '3' - meaning use the bytes per day restriction
  129.  
  130. The Ratio field should be any number over zero.
  131.  
  132.     '0' - meaning this security level is exempt from a ratio requirement
  133.  
  134.     ??? - meaning the caller must maintain a ratio of at least 1 file
  135.      (byte) uploaded to every ??? files (bytes) downloaded, or
  136.       they can only download ??? files (bytes) per day.
  137.  
  138.  
  139. For example, this is what my PASSWRDS file looks like:
  140.  
  141.  
  142. SKIPRATIO,170,120,200,90,0600,1200,0,0
  143. ,140,60,60,365,0001,2400,1,10
  144. ,150,70,,90,,,0,15
  145. ,165,90,,120,,,0,30
  146. ,170,120,,365,,,2,10
  147. ,200,360,,730,,,3,250000
  148.  
  149.  
  150. For the people who know the temporary password 'SKIPRATIO' they can
  151. skip the ratio requirement.
  152.  
  153. For security level 140, non-subscribers on my board, they must maintain
  154. a ratio of 1 byte uploaded for every 10 bytes downloaded.
  155.  
  156. For security level 150, trial period non-subscribers, they must maintain
  157. a ratio of 1 file uploaded for every 15 downloaded.
  158.  
  159. For security level 165, visiting sysops, they must maintain a ratio
  160. of 1 file uploaded for every 30 downloaded.
  161.  
  162. For secutiry level 170, they can only download 10 files per day.
  163.  
  164. For security level 200, they can only download 250000 bytes per day.
  165.  
  166. NOTE:    FIRST TIME CALLERS MUST UPLOAD AT LEAST ONE FILE (BYTE) BEFORE
  167.      DOWNLOADING UNLESS THEY ARE EXEMPT FROM THE RATIO REQUIREMENT,
  168.      OR THEY ARE USING THE DAILY RATIO METHOD.
  169.  
  170.  
  171. CHANGES TO THE USERS FILE
  172. -------------------------
  173.  
  174.   A program called RATIO.EXE is included that must be used to initialize 
  175. the USERS file so it will be able to keep track of the bytes uploaded and 
  176. downloaded.  This MUST be run even if your not using the byte method.
  177.  
  178.   This program will read and initialize positions 98-105 in the USERS so
  179. that RBBS-PC can store the number of bytes uploaded and downloaded.  
  180. Positions 98-105 in the USERS file are currently unused by RBBS.
  181.  
  182. The program will initialize all empty records to zero and all users filled
  183. records to a multiple of there current uploads and downloads.
  184.  
  185. For example, if you uploaded 2 files and downloaded 5 files, and you used
  186. a multiple of 20000 for files uploaded and 50000 for files downloaded, the
  187. record would be initialized as follows.
  188.  
  189.        Bytes uploaded   =  40000 ( 2 files uploaded * 20000 each )
  190.        Bytes downloaded = 250000 ( 5 files downloaded * 50000 each )
  191.  
  192. As a starting point for your files, I recommend you set both at 25000.
  193.  
  194. To run this program, just make a back-up of your USERS file, type RATIO.EXE.
  195. The program will ask you for the name of your USERS file, I suggest you use
  196. your back-up.  It will then ask for the multiple to be used to multiply times
  197. the users current upload and download ratio.  Just enter any number from 
  198. 0 to 100000.  The program will then modify the users file.
  199.  
  200. When the program has finished, just replace your users file with the new
  201. users file and away you go.  Even if you decide not to use the Ratio mod,
  202. you can still use the modified users file with the unmodified RBBS-PC.EXE
  203. since RBBS doesn't use that area for the USERS file anyways.
  204.  
  205.  
  206. TESTING THE PATCH
  207. -----------------
  208.  
  209.   This patch was written and tested using Microsoft Quick BASIC 3.0 and 4.0
  210. and was tested with an IBM 8513 VGA Analog Monitor on an Epson Equity III+
  211. computer.
  212.  
  213.   There is a large section of the code that uses the Block IF-THEN-ELSE
  214. structure instead of the standard single command IF-THEN-ELSE used in most
  215. places in RBBS.  This may cause the code not to compile on older versions of
  216. Quick BASIC.
  217.  
  218.   I tested this patch with RBBS 151C, and 151C with fixes through 12/13/87
  219. and also with the DSZ, COLOR, SPACE, LASTWRD, MS/SOTR, and DVSLICE merges
  220. and it works just fine.  If there are problems with new releases of RBBS,
  221. just call my BBS for the latest update.
  222.  
  223.  
  224. THAT'S ALL FOLKS
  225. ----------------
  226.  
  227.   If you find this patch to be useful and you believe it adds a lot to your
  228. BBS, please consider a donation of $10 to:
  229.  
  230.                        Kevin Lutz, Sysop
  231.                        Northern Illinois RBBS
  232.                        692 Walnut Road
  233.                        Wauconda, IL 60084-1145
  234.  
  235.                        Voice: (312) 526-3133
  236.                Data:  (312) 526-3349 (300/1200/2400)
  237.                               (312) 526-3725 (300/1200/2400 MNP)
  238.  
  239.     If you have an Idea for a mod, call my BBS and leave me a comment.
  240.  
  241. THANKS !!!
  242. ----------
  243.  
  244.   I would like to thank Ed Copley of the Toolbox, who's original mod for
  245. RBBS 14-1D inspired and aided me with this mod.  Thanks Ed.
  246.  
  247.